#include <iostream>
#include <vector>
using namespace std;

//int main()
//{
//    int n = 0;
//    cin >> n;
//    vector<int> a;
//    a.resize(n);
//
//    for (int i = 0; i < n; i++)
//    {
//        cin >> a[i];
//    }
//
//    int i = 0, count = 0;
//    while (i < n)
//    {
//        if (a[i] < a[i + 1])
//        {
//            while (i + 1 < n && a[i] <= a[i + 1])
//            {
//                i++;
//            }
//            count++;
//            i++;
//        }
//        else  if (a[i] == a[i + 1])
//        {
//            i++;
//        }
//        else
//        {
//            while (i + 1 < n && a[i] >= a[i + 1])
//            {
//                i++;
//            }
//            count++;
//            i++;
//        }
//    }
//
//    cout << count << endl;
//    return 0;
//}


//bool IsNums(char c)
//{
//    if (c >= '0' && c <= '9')
//    {
//        return true;
//    }
//
//    return false;
//}
//
//int main()
//{
//    string s = "";
//    cin >> s;
//    string tmp, ret;
//    for (int i = 0; i < s.size(); i++)
//    {
//        if (IsNums(s[i]))
//        {
//            tmp += s[i];
//            continue;
//        }
//
//        if (ret.size() < tmp.size())
//            ret = tmp;
//        tmp = "";
//    }
//
//    if (ret.size() < tmp.size())
//        ret = tmp;
//
//    cout << ret << endl;
//    return 0;
//}

#include <string>

int main()
{
	string s;
	cout << s << endl;

	string s2 = "hello world!";
	for (auto c : s2)
	{
		cout << c << " ";
	}
	cout << endl;

	string::iterator it = s2.begin();
	while (it != s2.end())
	{
		cout << *it << " ";
		++it;
	}
	cout << endl;

	reverse(s2.begin(), s2.end());

	for (int i = 0; i < s2.size(); i++)
	{
		cout << s2[i];
	}
	cout << endl;

	string s3 = s2;
	string s4 = string(s2, 2, string::npos);
	cout << s3 << endl << s4 << endl;

	return 0;
}